您可以为微服务创建一个云原生网关,通过从MSE Nacos添加服务或者从容器服务ACK关联服务,然后在网关中为服务创建路由策略,以便该服务通过网关对外提供服务。本文帮助您快速体验云原生网关。
体验流程
微服务如果部署到容器服务ACK或注册到MSE Nacos注册中心,云原生网关可直接从ACK关联服务,也可以从MSE Nacos添加服务。
步骤一:新建云原生网关
操作步骤
登录MSE网关管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择云原生网关 > 网关列表。
在网关列表页面左上角,单击创建网关。
在云原生网关购买页面中选择相关配置,然后单击立即购买。
参数
描述
付费模式
支持包年包月和按量付费方式。具体价格,请参见普通实例计费概述。
地域
选择网关的开服地域。
网关名称
自定义设置网关的名称,推荐用环境(或加业务领域)命名,例如test、order-prod等,最大长度为64个字符。
网关引擎规格
根据实际需求选择引擎规格,包括2核4G、4核8G、8核16G和16核32G。相关内容,请参见容量说明。
网关节点数
选择网关的节点数量,生产环境中建议网关节点数不少于2个节点。
说明单节点网关存在风险,请谨慎选择。
资源组
选择资源组。
专有网络
选择后端服务所在的专有网络。
交换机位置
选择交换机位置。
可用区
交换机位置选择为固定可用区时需要选择可用区。网关依赖VPC内的交换机与后端服务进行通信,建议优先选择和后端服务可用区一致的交换机。
交换机选择
交换机位置选择为自选可用区时需要选择交换机。
公网SLB规格
选择公网IP地址,可以通过互联网访问。
私网SLB规格
选择VPC内的私网IP地址。
安全组类型
选择网关安全组的类型,默认为企业安全组,建议与您后端服务所在ECS的安全组类型一致。相关内容,请参见安全组概述。
硬件加速
选中启用TLS硬件加速,开启后会使用硬件加速TLS握手能力,握手性能提升1倍。
说明由于底层硬件限制,目前只有北京、上海、杭州、深圳、新加坡地域支持。
网关监控
网关默认为您开通可观测监控 Prometheus 版收集网关指标并提供监控大盘,提供监控大盘和告警管理,该功能不收费。
日志服务
选中使用日志服务(SLS),为您开通日志服务SLS并开启网关日志投递功能,提供日志分析和仪表盘。相关内容,请参见开启网关日志投递。
链路追踪
选中使用可观测链路 OpenTelemetry 版,为您开通阿里云可观测链路 OpenTelemetry 版并开启网关链路追踪。相关内容,请参见开启网关链路追踪。
购买时长
如果您付费模式选择了包年包月模式,那么需要选择购买时长。您也可以选中到期自动续费功能,避免网关费用到期后无法使用。
说明网关创建过程可能需要2~3分钟时间,请您耐心等待。
步骤二:关联服务来源
登录MSE网关管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择云原生网关 > 网关列表,单击目标网关名称。
在左侧导航栏,选择路由管理,然后选择来源页签。
单击创建来源。在创建来源面板,配置相关参数,然后单击确定。
支持容器服务、MSE Nacos、MSE ZooKeeper、SAE 内置注册中心和EDAS 内置注册中心服务来源。
当服务来源选择容器服务时,需配置以下参数:
配置项
说明
ACK/ACK Serverless 集群
选择后端服务所在的集群。
说明您在创建网关时需要选择和后端集群相同的VPC,那么服务来源添加时会自动获取该VPC下的集群。
监听K8s Ingress
开启监听Ingress配置后,云原生网关会自动监听Ingress资源的变化,并使Ingress资源中域名、路由的相关配置生效。
关闭监听Ingress配置后,云原生网关会放弃监听Ingress资源,并失效之前已监听的Ingress资源中的域名、路由相关配置,请您谨慎操作。
重要通过管控手动配置的域名、路由的相关配置,其优先级高于Ingress资源。
IngressClass
监听关联指定IngressClass的Ingress资源。
当配置成空值时,监听集群中所有的Ingress资源。
当配置成具体值时(仅支持单个值,暂不支持批量配置),监听集群中带有
class
注解或者Spec.IngressClassName
的值与配置值一致的Ingress资源。例如,当配置成nginx
时,监听的Ingress资源包括:IngressClass为nginx
或者未关联任何IngressClass的Ingress资源。
监听命名空间
监听指定命名空间的Ingress资源。
当配置成空值时,监听集群中所有命名空间中的Ingress资源。
当配置成具体值时(仅支持单个值,暂不支持批量配置),监听集群中指定命名空间中的Ingress资源。
更新IngressStatus
开启更新IngressStatus后,被监听的Ingress的Status中IP地址会被修改为云原生网关关联的SLB IP地址。
说明网关版本为1.2.9及以上才能修改此行为。
安全组授权
容器集群的节点池上配置有安全组。通常情况下,集群外的组件要想访问到集群内的服务,就必须在安全组上开放服务所需的全部端口。
您可以对安全组进行修改。具体操作,请参见设置安全组规则。
当服务来源选择MSE Nacos时,需配置以下参数:
配置项
说明
Nacos 集群
选择集群。
说明只展示MCPEnabled = true的MSE Nacos实例,可在MSE Nacos参数设置中更改。
当服务来源选MSE ZooKeeper时,需配置以下参数:
配置项
说明
集群名称
选择集群。
当服务来源选择SAE 内置注册中心时,需配置以下参数:
配置项
说明
命名空间
选择服务部署在SAE的某个命名空间。
服务分组
若服务指定了特殊的服务分组,需要单击添加服务分组新增对应分组。
当服务来源选择EDAS 内置注册中心时,需配置以下参数:
配置项
说明
微服务空间
选择服务部署在EDAS的某个微服务空间。
服务分组
若服务指定了特殊的服务分组,需要单击添加服务分组新增对应分组。
步骤三:添加服务
建议您从服务来源添加服务,以便网关能够动态获取您的后端服务列表。
登录MSE网关管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏选择云原生网关 > 网关列表。
在网关列表页面,单击目标网关名称。
在左侧导航栏,选择路由管理,然后选择服务页签。
单击创建服务。在创建服务面板,配置服务相关参数,然后单击确定。
说明从容器服务添加服务:如果在网关中添加了容器服务作为服务来源,网关会从ACK/ACK Serverless集群获取服务列表,将服务列表中的服务及其后端节点地址添加到网关中。
从固定地址添加服务:如果该服务没有服务发现机制,需要手动添加服务的后端节点地址。
从DNS 域名添加服务:云原生网关支持根据DNS解析的结果作为后端服务地址。
服务来源选择容器服务时,需要配置以下配置项:
配置项
说明
命名空间
选中集群的命名空间。
默认不展示arms-prom、kube-system和mse-pilot命名空间的服务。
服务列表
在服务列表中选择服务。
服务来源选择MSE Nacos时,需要配置以下配置项:
配置项
说明
命名空间
选中集群的命名空间。
服务列表
在服务列表中选择服务。
默认不展示以consumers开头的服务。
服务来源选择MSE ZooKeeper时,需要配置以下配置项:
配置项
说明
服务列表
在服务列表中选择服务。
服务来源选择EDAS 内置注册中心时,需要配置以下参数:
配置项
说明
微服务空间
选中服务所在微服务空间。
服务列表
在服务列表中选择服务。
服务来源选择SAE 注册中心时,需要配置以下参数:
配置项
说明
命名空间
选中服务所在命名空间。
服务列表
在服务列表中选择服务。
服务来源选择FC 函数计算时,需要配置以下配置项:
配置项
说明
服务名称
选择函数所在的服务名称。
版本或别名
选择函数所在的服务的版本或别名。
函数列表
在函数列表中选择函数。
服务来源选择固定地址时,需要配置以下配置项:
配置项
说明
服务名称
自定义服务名称。
服务地址
服务的后端节点地址,不同来源的服务的后端节点有所不同,但格式均为
<后端节点IP>:<服务端口>
,多个节点通过换行分隔。TLS模式
通过下拉框选择TLS模式。默认选择关闭TLS模式。
关闭:访问服务时,无需开启TLS。
单向TLS:需要使用HTTPS访问服务时开启单向TLS。
双向TLS(mTLS):需要做双向认证时开启mTLS。
服务来源选择DNS 域名时,需要配置以下配置项:
配置项
说明
服务名称
自定义服务名称。
服务端口
域名提供服务的端口。支持1~65535的任意端口。
域名列表
输入域名,例如:www.aliyun.com。多个域名通过换行分隔。
TLS模式
通过下拉框选择TLS模式。默认选择关闭TLS模式。
关闭:访问服务时,无需开启TLS。
单向TLS:需要使用HTTPS访问服务时开启单向TLS。
双向TLS(mTLS):需要做双向认证时开启mTLS。
步骤四:为服务配置路由规则
登录MSE网关管理控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择云原生网关 > 网关列表,单击目标网关名称。
在左侧导航栏,单击路由管理,然后在路由页签单击创建路由。
在创建路由页面,配置相关配置项,然后单击保存。
说明匹配规则之间是“与”关系,即填写的规则越多匹配的范围越小。
路由之间匹配的优先级与路由配置页面展示排列顺序一致。
配置项
描述
路由名称
自定义路由名称。您还可以单击添加描述对路由进行说明。
域名
选择在路由需要匹配的域名,支持选择多个域名。
如果您需要创建新的域名,可以直接单击创建域名,在面板中进行创建。
匹配规则
路径(Path)
设置匹配HTTP请求中的Path参数。
相同匹配规则时Path越长优先级越高。
不同匹配规则时等于 > 前缀是 > 正则匹配。
等于:即完全匹配。例如,Path等于
/user
。前缀是:以前缀作为匹配条件。例如,Path以
/user
开头。正则匹配:以正则表达式作为匹配条件。
方法(Method)
设置匹配HTTP请求中的Method参数。支持选择多种HTTP方法,默认为ANY。
请求头(Header)
设置匹配HTTP请求中的Header参数,相同匹配规则时参数越多优先级越高。
请求参数(Query)
设置匹配HTTP请求中的Query参数,相同匹配规则时参数越多优先级越高。
使用场景
选择当前路由的目标服务类型。
基础场景:单服务
灰度场景:多服务、标签路由
其他场景:Mock、重定向
关于目标服务不同类型说明,请参见路由方式概述。
说明涉及权重的目标服务流量比例总和要求为100%。
后端服务
选择已关联的后端服务和端口。
说明您可以单击关联服务,在面板选择来源和服务。
不同的来源类型允许添加的来源数量有不同的限制。
容器服务不得超过5个。
Nacos和Zookeeper只能添加一个。
EDAS和SAE不限。
Fallback
设置Fallback服务,您需要选择指定的服务。当路由指向的后端服务没有可用节点时,原请求会访问此处指定的Fallback服务。
说明目前仅支持HTTP服务之间的Fallback能力。
超时时间(秒)
输入超时时间。默认为60秒。如果为0,则表示永不超时。
重试次数(次)
输入重试次数。默认为2次。如果为 0,则表示禁用重试。
重试条件
选择重试条件。
重试状态码
添加重试状态码,可添加多个。
后续步骤
完成上述步骤后,您就为部署在容器服务ACK中的微服务开启了云原生网关管理。登录MSE管理控制台,即可使用MSE云原生网关对您的应用进行服务管理。您还可以通过云原生网关体验请求测试、检查监控、配置报警、调试策略、集成鉴权等能力,请参见云原生网关进阶体验。
- 本页导读 (1)